Ubuntu 使用 autofs 自動掛載 NFS

autofs 是自動掛載用的工具,它會偵測當使用者進入要掛載的目錄時,才會把 nfs 給掛載起來,一段時間不用的時候就自動卸載掉,可以讓我們在需要使用時才連線,用完也不用手動 umount,可以相當程度上的避免突然的連線中斷導致無限 timeout

安裝 autofs

sudo apt install autofs

autofs 有兩個設定檔要編輯,首先在 /etc/auto.master.d 裡建立一個新的 master conf,副檔名一定要用 .autofs

sudo vim /etc/auto.master.d/nfs.autofs
# Mount Point           # Map File
/home/wade/nfs_mount    /etc/auto.nfs
  • Mount Point:nfs server 在本機的掛載目錄,這個目錄不需要存在,當 autofs 啟動時會自動建立並且持續的監控該資料夾
  • Map File:autofs 會根據 map file 的內容來掛載遠端目錄到本機的 mount point,該設定檔名稱可以自訂

將 master conf 放在 /etc/auto.master.d 裡是比較建議的做法,不過在 Ubuntu 18.04 以前,並沒有這個資料夾,所以也可以直接把 master conf 的內容寫到 /etc/auto.master

接著建立 Map File

sudo vim /etc/auto.nfs
share        -rw,sync        192.168.199.169:/home/wade
  • share:子目錄名稱,指的是剛才 master conf 裡 mount point 底下的子目錄,名稱可以自訂,當我們進入 /home/wade/nfs_mount/share 的同時,autofs 就會幫我們把遠端目錄掛載到該處。
    因此實際上 192.168.199.169:/home/wade 會掛載到 /home/wade/nfs_mount/share,而不是 /home/wade/nfs_mount
  • -rw,sync:nfs 的掛載參數
  • 192.168.199.169:/home/wade:NFS server 裡 /etc/exports 所設定的分享目錄,


master confmap file 都設定好之後,啟動 autofs 並設定自動開啟

sudo systemctl start autofs && sudo systemctl enable autofs


測試 autofs 掛載

cd /home/wade/nfs_mount/share && ls -l
總計 16
drwxrwxrwx 3 wade wade  109  8月 14 11:54 .
drwxr-xr-x 3 root root    0  8月 14 11:53 ..
-rw------- 1 wade wade 2059  8月 13 16:41 .bash_history
-rw-r--r-- 1 wade wade   18 11月  9  2019 .bash_logout
-rw-r--r-- 1 wade wade  141 11月  9  2019 .bash_profile
-rw-r--r-- 1 wade wade  312 11月  9  2019 .bashrc
drwxrwxr-x 2 wade wade    6  8月 14 11:35 HI
-rw-rw-r-- 1 wade wade    0  8月 14 11:36 NFS_test

可以看到這些都是 NFS server 上的 home 目錄的內容

比較方便的做法是在 File Manager 裡把掛載目錄加到書籤,這樣只要點一下就掛載起來了!

NFS Server 系列文章:

CentOS 8 安裝與設定 NFS Server

Mac 掛載 NFS 與 Operation not permitted 問題

Mac 使用 autofs 自動掛載 NFS

wade Written by:

本站站長